#pragma once

#include <iostream>

namespace JKTK
{
  //设计一个简单的计算任务
  class Task
  {
    private:
      int _x;
      int _y;
      char _ch;

    public:
      Task(int x,int y,char ch)
        :_x(x)
        ,_y(y)
        ,_ch(ch)
      {}

      Task()=default;

      void operator()()
      {
        switch(_ch)
        {
          case '+':
            {
              int result=_x+_y;
              std::cout<<_x<<_ch<<_y<<"="<<result<<std::endl;
              break;
            }
          case '-':
            {
              int result=_x-_y;
              std::cout<<_x<<_ch<<_y<<"="<<result<<std::endl;
              break;
            }
          case '*':
            {
              int result=_x*_y;
              std::cout<<_x<<_ch<<_y<<"="<<result<<std::endl;
              break;
            }
          case '/':
            {
              int result=_x/_y;//不做除零处理
              std::cout<<_x<<_ch<<_y<<"="<<result<<std::endl;
              break;
            }
          default :
            {
              std::cout<<"数据有误"<<std::endl;
              break;
            }
        }
      }
  };
}
